// © 2014 - 2017 Soverance Studios
// http://www.soverance.com

// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at

// http ://www.apache.org/licenses/LICENSE-2.0

// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

#pragma once

#include "Gear/EtherealGearMaster.h"
#include "Armor_Master.generated.h"

UCLASS()
class ETHEREAL_API AArmor_Master : public AEtherealGearMaster
{
	GENERATED_BODY()
	
public:

	AArmor_Master(const FObjectInitializer& ObjectInitializer);

	// BeginPlay Override
	virtual void BeginPlay() override;

	// Armor Special Effect Unique Text (For Display)
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Details)
	FText SpecialEffectText;

	/** Armor Meshes. */
	// Armor Skeletal Mesh
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Meshes)
	USkeletalMeshComponent* ArmorMesh;
	USkeletalMesh* SK_ArmorMesh;
	
	// Whether this is visible armor or not
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Meshes)
	bool VisibleArmor;

	// When the item the item is equipped
	UFUNCTION(BlueprintCallable, Category = Controls)
	void BindArmor();

	// When the item is unequipped
	UFUNCTION(BlueprintCallable, Category = Controls)
	void RemoveArmor();	
};
